package com.zzyq.pc.web.analysis.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.zzyq.pc.web.analysis.model.Analysis;

public interface IAnalysisService {

	/**
	 * 媒体舆情分析
	 * 
	 * @param entity
	 *            mongodbDate映射类
	 * @param starDate
	 *            开始的日期（yyyy-MM-dd）
	 * @param endDate
	 *            结束的日期（yyyy-MM-dd）
	 * @return List<Analysis> 对象集合
	 */
	List<Analysis> getMediaSentiment(Class<?> entity, String starDate, String endDate);

	/**
	 * 网络舆情分析
	 *
	 * @param entity
	 *            mongodbDate映射类
	 * @param starDate
	 *            开始的日期（yyyy-MM-dd）
	 * @param endDate
	 *            结束的日期（yyyy-MM-dd）
	 * @param articleTypes
	 *            渠道类型集合
	 * @return List<Analysis> 对象集合
	 */
	List<Analysis> getNetworkSentiment(Class<?> entity, String starDate, String endDate, Set<String> articleTypes);

	/**
	 * 整体舆情分析
	 *
	 * @param entity
	 *            mongodbDate映射类
	 * @param starDate
	 *            开始的日期（yyyy-MM-dd）
	 * @param endDate
	 *            结束的日期（yyyy-MM-dd）
	 * @return List<Analysis> 对象集合
	 */
	List<Analysis> getWholeSentiment(Class<?> entity, String starDate, String endDate);

	/**
	 * 分析 获取单位时间内传入的方案ID集合中渠道的分发数 用做渠道饼图数据
	 *
	 * @param entity
	 *            mongodbDate映射类
	 * @param startTime
	 *            开始时间
	 * @param endTime
	 *            结束时间
	 * @param articleTypes
	 *            需要查询的渠道集合
	 * @return 数量集合
	 */
	Map<String, Integer> distribution(Class<?> entity, String starDate, String endDate,
			Set<String> articleTypes);
}
